package org.jeecg.talentCooperation.fruit.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.talentCooperation.fruit.model.FruitCommonResultModel;
import org.jeecg.talentCooperation.fruit.model.FruitResultModel;
import org.jeecg.talentCooperation.talent.entity.TalentBasic;
import org.jeecg.talentCooperation.talent.model.TalentFruitResultModel;
import org.jeecg.talentCooperation.talent.model.TalentResultModel;

import java.util.List;
import java.util.Map;

public interface IFruitResultService extends IService<FruitResultModel> {

    Page<FruitResultModel> getFruitListOfPage(Page<FruitResultModel> page, FruitResultModel fruitResultModel);

    int getFruitTotal(FruitResultModel fruitResultModel);

//    Page<TalentFruitResultModel> getTalentGroupDataBySearchContentOfPage(Page<TalentFruitResultModel> page, FruitResultModel fruitResultModel);

    Page<TalentFruitResultModel> getTalentDataBySearchContent(Page<TalentFruitResultModel> page, FruitResultModel fruitResultModel);

    List<FruitCommonResultModel> getFruitFieldGroupCount(FruitResultModel fruitResultModel);

    Page<FruitCommonResultModel> getFruitDeptGroupCount(Page<FruitCommonResultModel> page, FruitResultModel fruitResultModel);

    Map getTalentGroupDataBySearchContentOfList(FruitResultModel fruitResultModel);

    List<TalentBasic> getTalentBasicData(FruitResultModel fruitResultModel);

    List<FruitResultModel> getFruitChart(FruitResultModel fruitResultModel);

    List<TalentResultModel> getRelatedTalentChart(FruitResultModel fruitResultModel);

    List<FruitCommonResultModel> getTalentFieldTagData(FruitResultModel fruitResultModel);

    List<FruitResultModel> getRecommendTalent(FruitResultModel fruitResultModel);

    List<FruitResultModel> getResearchFieldData(FruitResultModel fruitResultModel);

    List<FruitCommonResultModel> getMostFieldDataOfNum(FruitResultModel fruitResultModel);

    List<FruitResultModel> getAuthorDataOfHotField(FruitResultModel fruitResultModel);

    List<FruitResultModel> getAuthorDataOfTypeField(FruitResultModel fruitResultModel);

    Page<FruitResultModel> getFieldLinkFruit(Page<FruitResultModel> page, FruitResultModel fruitResultModel);

    Page<FruitResultModel> getHotFruit(Page<FruitResultModel> pageList, FruitResultModel fruitResultModel);

    List<FruitCommonResultModel> getFruitTagByField(FruitResultModel fruitResultModel);

    List<FruitResultModel> getFruitWordCloud(FruitResultModel fruitResultModel);
}
